package com.qyer.lxp.dao.price;

import com.qyer.lxp.model.price.normal.Price;

import java.util.Date;
import java.util.List;

/**
 * Created by jiangping on 16/5/19.
 */
public interface PriceMapper {

    /**
     * 批量插入产品价钱
     * @param prices   产品价钱相关list
     * @return
     */
    public void insertBatch(List<Price> prices);

    /**
     * 获取价格日历信息
     * @param saleCode
     * @return
     */
    public List<Price> getPrice(String saleCode);

    /**
     * 更新lx_price表中的数据
     * @param price 与表中字段对应的实体类
     * @return  返回更新后状态
     */
    public int updatePriceById(Price price);

    /**
     * 按id删除指定记录
     * @param id 主键id
     * @return  返回删除状态
     */
    public int deleteByPrimaryKey(int id);

    /**
     * 根据price中指定的属性查询日期价格表的数据
     * @param price 与日期价格表对应的查询字段
     * @return  返回结果list
     */
    public List<Price> setlectPrice(Price price);

    /**
     * 按日期删除价格
     * @param price  删除条件
     * @return  返回删除后的结果
     * @throws Exception
     */
    public int deleteBatchByPrice(Price price) throws Exception;

    /**
     * 获取价格去重后的规格id
     * @param saleCode
     * @return
     */
    public List<String> getSpecId(String saleCode);

    /**
     * 按套餐code,规格id,变化日期进行价格更新
     * @param price 需要更新的数据与更新条件
     * @return  返回最终结果
     */
    public int updatePriceBySaleCode(Price price);

    /**
     * 按条件统计数量
     * @param price 统计数量查询条件
     * @return  返回统计结果
     */
    public int countPrice(Price price);
}
